package com.sy.mapper.inventory;

import com.sy.bean.inventory.InOutWarehouse.GoodsDetail;
import com.sy.bean.inventory.InOutWarehouse.OutInWarehouse;
import com.sy.bean.inventory.InOutWarehouse.OutInWarehouseDetail;
import com.sy.bean.inventory.InOutWarehouse.param.UpdateHouseParam;
import com.sy.common.crud.IMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OutInWarehouseMapper extends IMapper<OutInWarehouse> {
    /**
     * 查看出入库详情
     *
     * @param id 出入库id
     * @return 结果
     */
    OutInWarehouseDetail queryDetail(int id);

    /**
     * 修改出入库
     *
     * @param houseParam 出入库参数
     * @return 结果
     */
    int update(UpdateHouseParam houseParam);

    /**
     * 根据出入库id查询出入库详情数量
     *
     * @param inId 出入库id
     * @return 结果
     */
    int countDetail(int inId);

    /**
     * 根据出入库id删除所有出入库详情
     *
     * @param inId 出入库id
     * @return 结果
     */
    int deleteByInId(int inId);

    /**
     * 批量新增出入库详情中的商品
     * @param goodsDetail 商品信息
     * @return 结果
     */
    int saveDetail(@Param("inId") int inId,@Param("goodsDetail") List<GoodsDetail> goodsDetail);
}
